/**
 * HTML 画布元素，用于游戏渲染。
 */
let can,
    ctx,
    G,
    lastFrame = 0,
    w = window,
    canvasPrototype = CanvasRenderingContext2D.prototype,
    CANVAS_WIDTH = 1600,
    CANVAS_HEIGHT = 900;

/**
 * 根据设备类型自动检测输入模式，判断是触摸输入还是键盘输入。
 */
inputMode = navigator.userAgent.match(nomangle(/andro|ipho|ipa|ipo/i)) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)
    ? INPUT_MODE_TOUCH
    : INPUT_MODE_KEYBOARD;

MONTHS = [
    // You didn't think I would include all the months, did you? Bytes are expensive!
    nomangle('一月'),
    nomangle('三月'),
    nomangle('四月'),
    nomangle('五月'),
    nomangle('六月'),
    nomangle('八月'),
    nomangle('九月'),
    nomangle('十月'),
];
/**
 * 国家数组，包含虚构国家的中文名称。
 */
COUNTRIES = [
    nomangle('战争斯坦'),
    nomangle('谋杀维亚'),
    nomangle('扎拉萨王国'),
    nomangle('卡多尼亚'),
    nomangle('埃德兰尼亚共和国'),
    nomangle('瓦班卡'),
    nomangle('西米安群岛'),
    nomangle('塞尔汗领地'),
    nomangle('瓦希尔联邦'),
    nomangle('德拉扎拉群岛'),
];
